Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
TOPIC

개발자

IDG 블로그 | “새로운 과제” 데브옵스와 멀티클라우드 함께 구현하기

멀티클라우드는 이제 추가적인 배치 플랫폼이 아니다. 그런데 데브옵스를 이런 멀티클라우드에서 효과적으로 운영하는 것은 사람들이 생각하는 것보다 까다롭다. 대부분 기업이 멀티클라우드로 가고 있다. 거의 92%이다. 플렉세라의 최신 클라우드 현황 보고서에 따르면, 대기업의 92%가 멀티클라우드 전략을, 80%가 하이브리드 클라우드 전략을 세우고 있다. 새삼스러운 것도 없는 소식이다.    진짜 새로운 소식은 대부분 기업이 데드옵스 또는 데브섹옵스를 멀티클라우드와 함께 추진하고 있으며, 대상 플랫폼의 복잡성을 처리하고 배치와 클라우드옵스도 고려해야 하는 상당히 힘든 장애물을 만나 고전하고 있다는 것이다. 멀티클라우드와 데브옵스의 결합은 많은 문제를 드러낸다. 잘못된 구성, 오버프로비저닝, 언더프로비저닝, 적절한 네이티브 서비스를 사용하지 않는 문제, 그리고 심지어 배치 후에 해결해야만 하는 보안과 운영 문제도 있다. 결국 개발자와 운영자가 고려해야만 하는 요소가 너무 많고, 이 때문에 엄청난 실수가 만들어진다. 더 많은 위험과 비용을 야기하지 않고 데브옵스와 멀티클라우드 문제를 해결할 방법은 없을까? 범용적인 지침 몇 가지를 소개한다. 첫째, IaC(Infrastructure as Code)를 이용한다. 이는 모놀리틱 접근법에서 마이크로서비스 같은 좀 더 세밀한 방법론으로 바꾸고, 대부분 VM을 사용하는 환경에서 클라우드 네이티브 패턴을 선택하는 것을 의미한다. IaC는 플랫폼의 구성을 애플리케이션과 해당 애플리케이션에 연결된 데이터에 맞추는 개념이다. 기업은 특정 플랫폼에 애플리케이션을 배치하면서 해당 플랫폼 내에서 필요로 하는 것, 즉 컴퓨트나 스토리지 등을 정의한다. 이 과정에서 대상 플랫폼의 환경 구성을 개발자에게 맡긴다. 개발자는 IaC로 시스템 구성을 더 잘 정의할 수 있으며, 시스템은 최적화 상태에 가까워진다. 최소공통분모 접근법으로 다수의 애플리케이션을 위한 한 가지 구성을 사용하면, 항상 제대로 최적화되지 않는다. 둘...

멀티클라우드 데브옵스 IaC 2021.04.19

“IT에도 필요하다” 지속적인 개선 프로세스의 효과와 원칙

한 달에 한 번 릴리즈에서 매주 250번 릴리즈로 변화하려면 어떻게 해야 할까? 일상적인 비즈니스 요구사항을 만족하는 것이 최우선 과제인 상황에서 혁신과 실험을 위한 충분한 여력을 확보하는 방법은 없을까? IT가 비용 센터가 아니라 혁신을 가속화하는 곳으로 변신할 수는 없을까? 직원을 가치 창출과 연결하고 잠재력을 최대한 끌어내려면 어떻게 해야 할까? 기업이라면 어느 곳이나 할 법한 흔한 질문이지만, 지속적인 개선(Continuous Improvement)을 해답으로 제시하는 경우는 드물다.     지속적인 개선 프로세스의 정의 지속적인 개선 프로세스(Continuous Improvement Process, CIP)는 기업 내에서 모든 프로세스의 최적화를 지속적이고 체계적으로, 그리고 작은 단계로 진행하는 것을 말한다. CIP는 제조산업에 많이 사용되는 원칙으로, 대표적인 예가 토요타이다. CIP는 도요타 생산 시스템의 중심 축 둘 중 하나이다.   생산을 넘어 전체 조직을 개발하는 CIP CIP의 효과는 개별적이고 작은 개선을 넘어 확산된다. 린블로그(Leanblog)의 보도에 따르면, 일본 토요타의 생산 현장에서는 2019년 한 해에만 43만 건의 제안이 구현되었는데, 이는 직원 한 명당 평균 6.3건에 해당한다. 수천 건의 개선이 축적된 효과는 극히 효과적인 프로세스, 고품질, 직원 만족, 그리고 궁극적으로는 비용 절감으로 이어진다. 토요타 생산 시스템의 원칙은 이미 1980년대부터 연구의 대상이었으며, 린 생산(Lean Production) 또는 린 씽킹(Lean Thinking)으로 요약할 수 있다. 린 씽킹의 일부 요소는 헬스케어 같은 다른 산업군에도 적용되었으며, 몇 년 전에는 IT 트랜스포메이션에도 적용됐다. 특히 IT 분야에서는 품질과 제한적인 업무 프로세스, 짧은 리드 시간 등에 초점을 맞추면서 칸반(Kanban)과 데브옵스가 중심 원칙으로 도입됐다. 토요타 생산 시스템의 또 다른 축인 ‘인간 존중’ 역시 애자...

CIP CICD 지속적개선 2021.04.14

안드로이드 개발 언어에 '러스트' 추가… 고질적인 C/C++ 메모리 버그 잡는다

안드로이드 오픈소스 프로젝트가 안드로이드 모바일 OS 개발 언어에 러스트(Rust)를 추가했다. 그동안 OS 개발 작업에서 C/C++가 맡던 부분을 러스트가 맡게 되는데, 이를 통해 메모리 버그를 해결할 것으로 기대하고 있다.   4월 6일 구글 블로그에 따르면, 안드로이드팀은 그동안 안드로이드 내 코드 정확성의 최우선 순위에 보안과 안정성, 품질을 뒀다. 안드로이드에서 고위험 보안 취약점의 약 70%를 차지하는 메모리 세이프티 버그는 안정성 이슈의 주요 과제 정도로 다뤘고, C와 C++의 세이프티 버그는 가장 까다로운 문제로 계속 남아 있었다. 이런 가운데 러스트가 돌파구를 마련할 것으로 기대된다. 안드로이드팀에 따르면, 러스트는 컴파일 시간 체크를 이용해 객체 라이프타임을 강제로 확인하는 방식으로 메모리 액세스가 유효함을 검증하고 결과적으로 메모리 세이프티를 보증한다. C나 C++에 버금가는 성능을 제공하면서 이런 세이프티를 달성한다는 장점도 있다. 러스트는 자바, 코틀린과 함께 안드로이드 OS 개발에서 사용하는 메모리-세이프 언어로 추가됐다. 안드로이드 OS는 플랫폼의 상당 부분에서 메모리 버그를 막는 데 자바를 사용하지만, 자바나 코틀린 모두 OS의 더 낮은 레이어에서는 쓸 수 없는 한계가 있었고, 이들 레이어에서는 C, C++ 같은 언어를 사용했다. 그러나 이제 리소스가 제약된 환경에서 러스트가 C, C++ 대신 예측 가능한 성능을 제공할 수 있게 됐다. 또한 그동안 개발자가 C와 C++를 이용할 때는 메모리 라이프사이클을 직접 관리해야 했는데 이 과정에서 실수가 발생하기 일쑤였다. 특히 복잡한 멀티스레드 코드베이스에서 작업할 때 오류가 많았다. 하지만 러스트는 메모리 사용을 자동으로 관리하므로 이런 실수를 크게 줄일 수 있다. C와 C++는 모두 러스트에 비해 메모리 세이프티 보증이 취약하고 강력한 격리 작업이 필요하다. 모든 안드로이드 프로세스는 샌드박스로 처리되는데, OS 개발팀은 코드 세이프티를 위해 '2의 룰(rule of...

러스트 C C++ 2021.04.12

“진화하는 데이터를 추적한다” 데이터 계보의 이해와 중요성

데이터베이스는 데이터를 삽입, 업데이트, 쿼리, 삭제하고 데이터의 현재 상태를 나타내는 데 효과적이다. API가 현재 트랜잭션을 수행하고 애플리케이션이 정확한 레코드를 불러올 수 있도록 하기 위해 개발자는 데이터 일관성에 의존한다. 개발자 외에 데이터를 사용하는 역할로는 머신러닝 모델을 개발하는 데이터 과학자, 데이터 시각화를 생성하는 시민 데이터 과학자 등이 있다.    SQL 또는 NoSQL 데이터베이스에서 이틀 전 상태의 데이터를 쿼리한다면 데이터베이스 스냅샷 또는 해당데이터베이스의 독점 기능에 의존해야 할 수 있다. 스냅샷과 백업은 오래된 데이터 집합을 비교하는 개발자나 데이터 과학자에게는 충분할 수 있지만, 데이터가 어떻게 변경되었는지를 추적하기 위한 툴로는 충분하지 않다.  사용자와 시스템이 데이터를 어떻게 수정하는지 더 자세히 알아야 할 이유는 많다. 다음과 같은 질문에 답할 수 있는 역량을 갖추는 것이 중요하다.    데이터를 변경한 사용자 또는 비즈니스 프로세스는 무엇인가?  변경을 수행한 툴 또는 기술은 무엇인가?  데이터가 어떻게 변경되었는가? 알고리즘, 데이터 흐름, API 호출에 의해서인가 아니면 사람이 양식에 데이터를 입력한 결과로 변경되었는가?   레코드, 문서, 노드, 필드 또는 속성이 어떻게 변경되었는가?  변경이 수행된 시점은 언제이며, 사람이 변경했다면 변경 당시 지리적으로 어디에 위치해 있었는가?  변경이 발생한 이유는 무엇인가? 어떤 맥락에서 이루어졌는가?    데이터 계보의 이해  데이터 계보(Data Lineage)는 데이터의 라이프사이클을 노출하고 데이터가 누구에 의해, 언제, 왜, 어떻게 변경되었는지에 관한 질문에 답하는 데 도움이 되는 방법론과 툴로 구성된다. 메타데이터 관리 내의 한 분야이며, 데이터 소비자가 의사 결정 및 기타 비즈니스 목적으로 현재 활용 중인 데이터의 컨텍스...

데이터계보 규제 일관성 2021.04.07

PHP 백도어 공격에서 드러난 오픈소스의 허점, 효과적인 코드 검증이 필요하다

정체 불명의 공격자들이 PHP 프로젝트 중앙 코드 리포지토리에 침입, 인터넷의 웹사이트 대부분을 구동하는 런타임에 백도어를 집어넣을 목적으로 악성코드를 추가하는 사건이 발생했다. 공격 집단은 2명의 유명한 PHP 개발자를 가장했지만 코드 커밋(commit) 자체가 그다지 은밀하지는 않아서 몇 시간 만에 다른 개발자의 리뷰를 통해 발각됐다.   다행히 백도어가 소프트웨어 제품의 정식 릴리스에 진입해 일반 사용자에게도 배포된 최근 솔라윈즈(SolarWinds) 침해나 다른 공급망 공격과 같은 광범위한 영향은 없었다. 그러나 사고는 PHP를 유지하는 조직인 PHP 그룹(PHP Group)이 코드 인프라의 운영 방식을 재검토하는 계기가 됐다. 오픈소스 코드는 주요 인터넷 서비스의 중심에 위치하며 현대 애플리케이션 코드베이스의 대부분을 차지한다. 자원 봉사자에 의해 제한적인 리소스로 운영되는 경우가 많은 오픈소스 프로젝트를 대상으로 한 공급망 공격의 수는 지난 몇 년 동안 가파르게 증가했다. 또한 전문가들은 방어가 어려운 만큼 공격자 사이에서 공급망 공격 벡터의 인기가 앞으로 더 높아질 것으로 예상하고 있다. PHP 리포지토리에 무슨 일이 최근 PHP 창안자이자 코어 개발자인 라스무스 러도프의 이름으로 git.php.net의 php-src 리포지토리에 "[skip-ci] Fix typo"라는 이름의 코드 커밋이 푸시됐다. 2시간 후 다른 PHP 기여자가 코드에 오타가 있다는 코멘트를 남겼고, 이후 다른 개발자가 코드의 역할이 무엇인지를 물었다. 이 질문은 보안 전문가인 한 개발자의 관심을 끌었다. 개발자는 '문자열이 'zerodium'으로 시작하는 경우 useragent HTTP 헤더 내에서 PHP 코드를 실행하는 코드'라고 답을 남겼다. 기본적으로 이 코드는 백도어(backdoor)였다. 공격자가 HTTP 헤더에 특정 문자열이 포함된 요청을 보내는 간단한 방법으로 실행이 가능하며, 그러면 감염된 이 PHP 버전을 실행하는 모든 웹 서버에서 임의의 코...

PHP 공급망공격 2021.04.07

구글, 10년 자바 분쟁에서 승리…미 연방대법원 “공정 이용” 판결

안드로이드의 자바 코드 사용을 두고 벌어진 구글과 오라클의 10년 분쟁에서 미 연방 대법원이 구글의 손을 들어줬다. 구글이 자바 API의 작은 부분을 복사해 사용하는 것은 오라클의 저작권을 침해하지 않는 공정한 이용에 해당한다고 판결한 것이다.    미 연방 대법원은 4월 5일 구글의 자바 SE API 복제, 특히 프로그래머가 새롭고 변형된 프로그램에서 작업할 수 있도록 해주는 일련의 코드를 사용한 것은 해당 자원의 공정 이용에 해당한다고 판결했다. 법원은 판결문을 통해 “컴퓨터 프로그램은 원래부터 기능적이라는 사실 때문에 전통적인 저작권 개념을 적용하기 어렵다”고 설명했다. 법원은 판결을 통해 구글이 자바 SE, 특히 자바 API에서 약 1만 1,500줄의 코드를 복제해 안드로이드에 사용했다고 밝혔다. 하지만 이는 286만 줄이나 되는 전체 API의 0.4%에 불과하다는 것이 법원의 판단이다. 한편, 대법원의 판결에도 오라클은 구글이 자바를 남용하고, 심지어 훔쳤다는 강경한 입장을 바꾸지 않았다. editor@itworld.co.kr

구글 오라클 자바 2021.04.06

'깔끔한 코드 체계의 기초' 함수형 프로그래밍의 이해

함수형 프로그래밍은 초창기부터 존재한 소프트웨어 개발의 한 방식인데 최근 들어 새롭게 그 중요성이 부각되고 있다. 여기서는 함수형 프로그래밍의 기본 개념에 대해 알아보고 자바스크립트와 자바 예제를 살펴본다.     함수형 프로그래밍의 정의 함수는 코드 체계의 기초다. 함수는 모든 고차 프로그래밍 언어에 존재한다. 일반적으로 함수형 프로그래밍은 깔끔하고 유지보수가 용이한 소프트웨어를 만들기 위해 최대한 효과적으로 함수를 사용하는 것을 의미한다. 더 구체적인 의미로는 하나의 프로그래밍 패러다임으로 정의되는 일련의 코딩 접근 방식이다. 함수형 프로그래밍을 객체 지향 프로그래밍(OOP)과 절차적 프로그래밍의 반대 개념으로 정의하는 때도 있다. 그러나 각 접근 방법은 상호 배타적이지 않으며 대부분 시스템은 3가지 모두를 사용하므로 잘못된 생각이다. 함수형 프로그래밍은 특정 사례에서 명확한 이점을 제공하며 많은 언어와 프레임워크에서 폭넓게 사용되고 현재 소프트웨어 추세에서 두드러진다. 함수형 프로그래밍은 모든 개발자의 개념 및 구문 툴킷에 포함돼야 하는 유용하고 강력한 툴이다.   순수 함수 함수형 프로그래밍의 이상은 이른바 순수 함수(pure function)다. 순수 함수는 결과가 오로지 입력 매개변수에 의해서만 좌우되며 연산이 아무런 부작용을 일으키지 않는, 즉 반환 값 이외의 외부 영향이 없는 함수다. 순수 함수의 미는 구조적 단순함에 있다. 순수 함수는 인수와 반환 값(즉, API)으로 축약되므로 복잡성의 막다른 길이라고 할 수 있다. 순수 함수와 외부 시스템과의 유일한 상호작용은 정의된 API를 통해 이뤄진다. 이는 객체 메소드가 객체의 상태(객체 멤버)와 상호작용하도록 설계되는 OOP와 대비되며, 외부 상태가 함수 내에서 조작되는 경우가 많은 절차적 스타일 코드와도 대비된다. 그러나 리액트(React)의 useEffect 후크에서 볼 수 있듯이 실제 환경에서 함수는 더 넓은 컨텍스트와 상호작용해야 하는 경우가 많다. &n...

함수형프로그래밍 개발자 2021.04.06

이클립스, VSC 확장기능 마켓플레이스 직접 운영한다

마이크로소프트의 비주얼 스튜디오 코드(Visual Studio Code)와 다른 개발자 툴에서 사용할 수 있는 확장기능 리포지토리인 '오픈 VSX 레지스트리(Open VSX Registry)'가 이클립스 파운데이션의 통제에 편입된다. 지난 30일 이클립스 파운데이션은 이클립스 오픈 VSX 프로젝트의 공식 출범 소식을 알리고, 관리 주체가 개발자 툴 제작업체인 타입폭스(TypeFox)에서 이클립스 클라우드 데브툴스(Eclipse Cloud DevTools) 워킹 그룹으로 바뀐다고 밝혔다. 이에 따라 앞으로 오픈 VSX 레지스트리는 마이크로소프트의 비주얼 스튜디오 마켓플레이스(Visual Studio Marketplace)에 대응하는 업체 중립적인 오픈소스 대안이 된다. 이클립스 체(Eclipse Che), 이클립스 테이아(Eclipse Theia) 등 비주얼 스튜디오 코드와 호환되는 편집기용 확장 기능을 유통하는 오픈 마켓플레이스 역할을 하게 된다. 그동안 이클립스 파운데이션은 오픈 VSX 레지스트리 마켓플레이스 개발이 커뮤니티가 아니라 단일 업체의 관리하에 있다는 점에 대해 비판을 받아 왔다. 이에 대해 오픈 VSX 레지스트리 측은 확장기능 사용자와 배포자, 툴 개발자에 대한 투명성과 유연성을 점점 개선하고 있고, 특히 클라우드 기반 툴 사용자와 독점적인 모델과 마켓플레이스에 종속되지 않고자 하는 이들을 위해서도 노력하고 있다고 주장했지만, 결국 이클립스 파운데이션이 관리하는 것으로 마무리됐다. 현재 오픈 VSX 레지스트리에서는 다트(Dart) 언어 지원부터 YAML, 줄리아(Julia) 언어 지원까지 다양한 기능의 확장기능이 올라와 있다. 4월 1일 기준 전체 확장기능 수는 983가지이지만, 새 프로젝트 출범 이후 확장기능 수가 크게 늘 것으로 이클립스 파운데이션 측은 기대하고 있다. 오픈 VSX는 오픈소스이므로, 모든 기업이 이를 이용해 내부 개발자를 위해 자체적으로 호스트하는 확장 기능 레지스트리를 만들 수 있다. editor@itworld.c...

오픈VSX레지스트리 VSC 비주얼스튜디오코드 2021.04.05

깃랩 13.10 릴리스 출시…“관리기능 향상 및 취약성 관리 자동화 지원”

깃랩은 깃랩 13.10 릴리스를 발표했다. 깃랩은 이번 버전에서는 제품 전반의 확장성과 관리 용이성에 중점을 두었으며, 보안을 강화하고, 문제점을 줄이면서 반복과 혁신을 더욱 가속화할 수 있도록 지원한다고 설명했다. 13.10 릴리스는 기업들이 데브옵스를 확장하는데 도움을 줄 수 있는 향상된 관리기능과 재해 복구(DR: Disaster Recovery)를 개선하기 위한 지오(Geo) 패키지 무결성 검증 및 일관되고 효율적인 보안 프로세스를 위한 취약성 관리 자동화 기능 등을 제공한다. 이번 릴리스에는 40개 이상의 새로운 기능이 추가됐으며, 이외에도 많은 사항들이 개선됐다. 깃랩 13.10은 일상적인 작업을 자동화해 효율을 높이고, 통제력을 유지하면서도 조직 내의 데브옵스를 성장시킬 수 있는 몇 가지 새로운 기능을 도입했다. 프로젝트 레벨에서 변경사항(병합요청을 통해)에 대한 리드 타임을 추적하는 새로운 API 기반의 DORA 평가지표와 그룹 레벨에서 API를 통한 배포빈도(Deployment Frequency)를 측정하는 평가지표에 대한 지원 수준을 향상시킴으로써 프로젝트 포트폴리오 전반에 걸쳐 방해요소를 추적하고, 식별할 수 있도록 했다. 또한 문제가 발생하면, 여러 모니터링 솔루션의 알림을 통합하고, 관리할 수 있는 도구를 추가했다. 13.10은 그룹 위키를 복제하고, 복제된 패키지 레지스트리의 데이터 무결성을 자동으로 검증할 수 있도록 함으로써 깃랩 지오를 사용하는 고객들의 재해 복구 기능을 향상시켰다. 한편 깃랩 러너 오퍼레이터를 레드햇 오픈시프트에 일반 배포(General Availability)함으로써 더 많은 플랫폼에서 깃랩을 사용할 수 있도록 했다. 깃랩의 보안 팀은 13.10에서 취약성을 관리하고, 공유하는데 따른 오버헤드를 줄이기 위해 주력했다. 보안 팀은 대량 상태 업데이트(Bulk Status Updates)를 통해 여러 취약점의 상태를 동시에 수정할 수 있다. 또한 관련 정보를 신속하게 식별하고, 분류할 수 있도록 취약성 보...

깃랩 2021.04.01

관찰가능성과 모니터링으로 애플리케이션 신뢰도를 높이는 방법

개발자가 애플리케이션이나 마이크로서비스를 프로덕션 단계로 새로 릴리스 할 때, IT 운영 부서는 이것이 규정한 서비스 수준 밖에서 작동하는지 여부를 어떻게 파악할까? 사전에 문제가 있음을 인식하고, 파급력이 큰 사고로 악화되기 전에 이를 해결할 수 있을까? 사고가 성과와 안정성, 신뢰도에 영향을 미칠 때, 빠르게 문제를 파악하고 비즈니스 영향을 최소화해 문제를 해결할 수 있을까?  한 걸음 더 나아가, IT 운영 부서는 지원 인력이 문제를 시정하는 대신, 상황에 대응하는 작업을 자동화할 수 있을까? 퍼블릭/프라이빗 클라우드에서 실행되는 데이터 관리 및 분석 서비스는 어떨까? IT 운영 부서는 데이터 통합, 데이터옵스(Dataops), 데이터 레이크, 데이터 과학자가 배치한 머신 러닝 모델과 데이터 시각화 알림을 어떤 방식으로 받고, 검토 및 평가를 하고, 사고 세부사항을 파악하고, 문제를 해결할까?  이것은 디지털 트랜스포메이션 과정에서 IT 리더들이 더 많은 애플리케이션과 분석 기술을 배포할 때 답해야 할 핵심적인 질문이다. 더욱이 데브옵스 부서가 CI/CD와 IaC(Infrastructure as Code)로 배포하는 일이 늘어나면서, 변화는 방해나 중단을 초래할 확률이 높아진다. 개발자, 데이터 과학자, 데이터 엔지니어, IT 운영 부서가 신뢰성을 높이려면 어떻게 해야 할까? 애플리케이션을 모니터링하고, 관찰가능성(Observabiligy)을 높여야 할까? 모니터링과 관찰가능성은 대립하는 개념일까? 아니면 함께 배치해 신뢰성을 높이고, 사고 해결 평균 시간(MTTR: Mean Time to Resolve)을 개선할 수 있을까? 필자는 IT 애플리케이션 개발, 프로덕션 단계 배포를 담당하는 기술 업체 운영진을 대상으로 모니터링과 관측가능성, AI옵스, 자동화에 대한 관점을 질문했다. 그리고 이들은 운영 신뢰성을 개선하기 위해 집중해야 할 5가지 실천 분야를 제시했다.   개발자와 운영자 간 SSOT(Single Sour...

AI옵스 데브옵스 2021.03.31

"자바스크립트, 새로운 자바인가" 자바스크립트의 자바 대체 논쟁

자바는 '한 번 쓰고 어디서나 실행(Write once, run anywhere)'하는 프로그래밍 언어의 대명사다. 이런 자바를 자바스크립트가 대체할까?   답은 보는 관점에 따라 다르다. 또한 웹어셈블리(WebAssembly)와 같은 기술이 등장하면서 새롭게 부상하는 “한 번 쓰고 어디서나 컴파일(write once, compile anywhere)”하는 패러다임이 자바에 새로운 힘을 부여할 수도 있다. 자바는 JVM이 동작하는 곳 어디서나 실행되면서 많은 운영체제와 모바일 및 임베디드 기기를 포함한 하드웨어 플랫폼 간에 이식성을 제공한다. 그러나 뉴트랄리노(Neutralino) 자바스크립트/타입스크립트 프레임워크의 저작자 샬리타 수랑가는 브라우저 내 애플리케이션의 중심이었던 자바스크립트는 이제 일렉트론(Electron) 프레임워크와 같은 기술을 통해 데스크톱 애플리케이션에서, 리액트 네이티브(React Native)와 같은 프레임워크를 통해 모바일 애플리케이션에서, 그리고 Node.js와 데노(Deno)를 통해 웹 백엔드에서도 동작한다고 강조했다. 또한 노드MCU(NodeMCU)와 같은 도구를 통해 IoT와 로봇 개발에서도 자바스크립트를 사용할 수 있다. 디지털 제품 제조업체인 99x의 소프트웨어 엔지니어이자 아파치 프로젝트 관리 위원이기도 한 수랑가는 “요즘은 자바로 할 수 있는 일은 무엇이든 자바스크립트로도 할 수 있다”라고 말했다. 수랑가는 최근 미디엄(Medium)에 “한 번 쓰고 어디서나 실행하는 언어라고 하면 이제 자바가 아닌 자바스크립트”라고 주장하는 글을 게시했다. 자바스크립트, 웹 브라우저에서 서버와 기기로 수랑가는 자바스크립트를 불멸의 언어로, 자바를 서서히 죽어가는 언어로 선언했지만 수랑가의 말이 자바스크립트가 프로그래밍 언어로서의 자바를 대체할 것이라는 의미는 아니다. 이보다는 자바가 빛을 발하는 모든 곳에서(데스크톱 애플리케이션, 웹 서버, 웹 클라이언트, 모바일 앱, 스마트 TV 애플리케이션) 이제 자바스크립트가 ...

자바스크립트 자바 2021.03.30

시민 개발자의 AI 구축에 책임감 더하기 

AI 업계는 현재 새로운 세대의 시민 개발자 수용이라는 위험한 게임을 벌이고 있다. AI 솔루션 제공업체, 컨설턴트들은 한쪽에서 “책임감 있는 AI”에 관한 그럴 듯한 이야기를 하고, 다른 한쪽에서는 새로운 세대의 비전문 개발자들이 온갖 곳에 딥러닝, 머신 러닝, 자연어 처리 같은 인텔리전스를 구축해 넣도록 유도하고 있다.   책임감 있는 기술 사용에 대한 관심을 두고, 비판적인 사람은 ‘더 강력한 규제의 필요성을 누그러뜨리기 위한 AI 업계의 책략’으로 보기도 한다. 물론 업체가 고객의 제품 사용 방식을 감시하리라고 기대하기는 어렵다. 개인정보를 침해하고 사회적 편견을 부추기고 윤리적 실수를 저지르는 애플리케이션을 억제하기 위해 업계가 주로 쓰는 방법은 책임감 있는 AI에 관한 올바른 생각을 담은 논문을 발표하는 정도다. 최근 예만 봐도 마이크로소프트, 구글, 액센추어, PwC, 딜로이트, 그리고 윤리적 AI 및 머신러닝을 위한 협회(Institute for Ethical AI and Machine Learning)에서도 그러한 문서를 발표했다.   AI 업체들이 취하고 있는 또 다른 방법은 개발 툴과 런타임 플랫폼에 책임감 있는 AI 기능을 집어넣는 것이다. 최근 필자의 관심을 끈 이벤트는 마이크로소프트의 애저 퍼셉트(Azure Percept) 공개 프리뷰 버전 발표다. 소프트웨어, 하드웨어, 서비스 묶음인 애저 퍼셉트는 엣지 구축을 위한 AI 애플리케이션의 대량 개발을 촉진하도록 설계됐다.   기본적으로 애저 퍼셉트는 사회적 관점에서 보면 매우 무책임한 AI 애플리케이션 개발을 유도할 수 있다. 염탐, 감시, 도청을 주 용도로 하는 스마트 카메라, 스마트 스피커 및 기타 플랫폼에 내장되는 AI를 생각해 보자. 애저 퍼셉트의 구체적인 기능은 다음과 같다. • 이러한 애플리케이션의 개발 속도를 높이는 로우 코드 소프트웨어 개발 키트를 제공한다. • 애저 코그니티브 서비스(Azure Cognitive Services), 애저 머...

AI 시민개발자 애저퍼셉트 2021.03.29

"혁신보다 현실" 2021년 애널리틱스·AI 트렌드 3가지

기업이 팬데믹과 계속 씨름하고 있는 가운데 애널리틱스 및 AI의 ROI를 입증하는 것, 지능형 자동화(IA)를 활성화하는 것, 그리고 다양성, 형평성, 포용성(DEI)을 위해 데이터를 활용하는 것이 중요해질 전망이다.  ‘데이터 애널리틱스’는 끊임없이 변화하고 있는 영역이다. 지난 2020년 초 기업들은 디지털 트랜스포메이션을 지원하기 위해 애널리틱스에 지속적으로 많은 투자를 할 것이 분명해 보였다.  하지만 2021년 3월 현재, 애널리틱스 및 AI 세계는 작년 초와는 매우 다른 양상을 보이고 있다. 코로나19 팬데믹으로 인해 기업은 새로운 업무 방식을 채택하고 예산을 감축했으며, 과거 데이터를 활용하던 여러 모델은 쓸모없어져 버렸다.   가트너는 2021년에 데이터 및 애널리틱스 팀은 빅 데이터를 활용하던 기존의 기술에서 탈피해 ‘작고 넓은(small and wide)’ 데이터에 집중하는 새로운 애널리틱스로 전환해야 한다고 말했다.  이에 대한 관심도 증가하고 있다. 지난 2020년 7월 가트너가 이사회를 대상으로 실시한 설문조사에 따르면 전체 응답자의 78%는 코로나19 위기 이후 시장 판도를 바꿀 기술 톱3 가운데 하나로 애널리틱스를 꼽았다(69%는 AI라고 답했다).  데이터 애널리틱스 및 AI에 관심이 집중되는 가운데 이와 관련해 주목해야 할 3가지 트렌드를 살펴본다.  애널리틱스 및 AI 프로젝트는 ROI를 입증해야 한다 코로나19 사태가 발생한 지 1년이 넘었다. 그 파급효과는 모든 곳에서 감지되고 있다. 지난 몇 년 동안 애널리틱스 및 AI와 관련해 개념 증명(PoC)을 진행하면서 자유롭고 실험적인 접근방식을 취해 온 기업들이 많았다.  하지만 이를 제대로 된 프로덕션 프로젝트로 전환한 기업의 비율은 상대적으로 낮았다. 이에 따라 2021년에는 (물론 투자가 중단되진 않겠지만) 프로젝트의 투자대비효과(ROI) 입증이 요구될 전망이다.  가트너는 지난 몇 년간...

애널리틱스 AI 2021 2021.03.25

"자연어 처리가 필요하다면" 추천 파이썬 라이브러리 8종

파이썬에는 NLP 관련 도구가 정말 많다. 원하는 텍스트 분석 작업에 적절한 파이썬 라이브러리는 어떻게 찾을 수 있을까? 용도별 추천 라이브러리와 장단점을 살펴본다.  NLP(Natural Language Processing, 자연어 처리)는 ‘음성 및 텍스트를 위한 AI’라고 말할 수 있다. 음성 명령, 음성 및 텍스트 번역, 감성 분석, 텍스트 요약, 언어와 관련된 여타 많은 애플리케이션은 그 동안 크게 개선됐다. 분석에 사용되는 NLP의 성능 또한 딥러닝을 통해 획기적으로 향상됐다. 파이썬 언어는 NLP를 포함한 모든 종류의 머신러닝에 유용한 프론트엔드를 제공한다. 하지만 파이썬 생태계에는 고를 NLP가 너무 많아 당황스러운 것도 사실이다. 여기서는 주요 파이썬용 라이브러리의 사용례와 장단점 그리고 인기도를 살펴본다.    CoreNLP 스탠포드 대학(Stanford University)이 만든 CoreNLP 라이브러리는 NLP 예측 및 분석 작업을 대규모로 수행할 수 있게 해주는 실용 단계의 NLP 솔루션이다. CoreNLP는 자바(Java)로 작성됐지만, 이를 위한 API와 여러 파이썬 패키지가 등장해 있는 상태다. Stanza로 불리는 네이티브 NLP 라이브러리가 그 중 하나다. 문법 태깅, 명명 엔티티 인식, 파싱, 구문 분석, 감성 분석 등 많은 언어 관련 도구들이 CoreNLP에 포함되어 있다. 언어별 특성을 타지 않도록 고안되어 있으며, 현재 영어에 더해 아랍어, 중국어, 프랑스어, 독일어, 스페인어(서드파티를 통해 러시아어 및 스웨덴어, 덴마크어)를 지원한다. CoreNLP에는 간편하게 예측을 하는 기능을 제공하는 웹 API 서버도 포함되어 있다. CoreNLP의 파이썬 래퍼(Python wrappers) 이용의 좋은 출발점은 스탠포드 NLP 그룹이 만든 참조 구현체인 Stanza이다. Stanza는 문서화가 잘 되어 있고, 정기적으로 유지 관리되는 것이 장점이다. 다른 CoreNLP 파이썬 라이브러리 ...

파이썬 자연어 처리 NLP 2021.03.25

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.